# 练习 9.14：彩票 创建⼀个列表或元素，其中包含 10 个数和 5 个字
# ⺟。从这个列表或元组中随机选择 4 个数或字⺟，并打印⼀条消息，
# 指出只要彩票上是这 4 个数或字⺟，就中⼤奖了。

from random import choices


class Lottery:
    def __init__(self):
        self.ticket = ['1', '2', '3', '4', '5', '6',
                       '7', '8', '9', '10', 'a', 'b', 'c', 'd', 'e']

    def draw_lottery(self):
        result = choices(self.ticket, k=4)
        print('If your ticket is ' + str(result) + ' you win!')
        return result

# lottery = Lottery()
# lottery.draw_lottery()

# 练习 9.15：彩票分析 可以使⽤⼀个循环来理解中前述彩票⼤奖有多
# 难。为此，创建⼀个名为 my_ticket 的列表或元组，再编写⼀个循
# 环，不断地随机选择数或字⺟，直到中⼤奖为⽌。请打印⼀条消息，
# 报告执⾏多少次循环才中了⼤奖。

lottery = Lottery()
my_ticket = ['1', '2', '3', '4']
count = 0
while True:
    result = lottery.draw_lottery()
    #if ((my_ticket[0] == result[0]) & (my_ticket[1] == result[1]) & (my_ticket[2] == result[2]) & (my_ticket[3] == result[3])):
    if(my_ticket == result):
        print(f'执⾏{count}次循环才中了⼤奖')
        break
    else:
        count += 1
